import java.util.Locale;

class Student{
    String name;
    int age;

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }

}



public class TestDemo {
    public static void main(String[] args) {
        String s1=new String("abcd");
        String s2="ABCD";
        System.out.println(s1 == s2);//false
        System.out.println(s1.equals(s2));//false
        System.out.println(s1.equalsIgnoreCase(s2));//true
        System.out.println(s1.compareTo(s2));//>0  a的ascii比A大32
        System.out.println(s1.compareToIgnoreCase(s2));//=0


        String s3="hello";
        for (int i = 0; i < s3.length(); i++) {//length后面有（）说明这是一个方法，而不是一个属性
            char ch=s3.charAt(i);//字符获取，下标不要越界不然会报错
            System.out.println(ch);
        }
        int x1=s3.indexOf('l');//返回l第一次出现的位置，没有出现返回-1
        System.out.println("x1=" + x1);
        int x2=s3.indexOf('e',1);//从1号下标位置开始找e出现的位置并返回下标，没有找到返回-1
        System.out.println("x2=" + x2);
        int x3=s3.indexOf("lo");//返回llo第一次出现的位置，没有返回-1
        System.out.println("x3=" + x3);
        int x4=s3.indexOf("llo",3);//从3号下标位置开始找llo出现的位置并返回下标，没有找到返回-1
        System.out.println("x4=" + x4);
        int x5=s3.lastIndexOf('l');//从后往前找返回l第一次出现的位置，没有返回-1
        System.out.println("x5=" + x5);
        int x6=s3.lastIndexOf('l',2);//从2位置开始从后往前找返回l第一次出现的位置，没有返回-1
        System.out.println("x6=" + x6);
        //int lastIndexOf(String str)    int lastIndexOf(String str,int fromIndex)
        String s33=s3.toUpperCase();//得到s3的大写形式
        System.out.println("s3="+s3);
        System.out.println("s33="+s33);
        String s333=s33.toLowerCase();//得到s33的小写形式
        System.out.println("s333="+s333);
        char[] chars=s3.toCharArray();//得到s3的每一个字符
        for(char ch:chars){
            System.out.print(ch + " ");
        }
        System.out.println();


        //转化为字符串
        String s4=String.valueOf(1234);//int->String
        String s5=String.valueOf(12.34);//double
        String s6=String.valueOf(true);//boolean
        System.out.println(s4);
        System.out.println(s5);
        System.out.println(s6);
        String s7=String.valueOf(new Student("zhangsan",12));
        System.out.println(s7);//s7不重写toString方法时打印出来为：Student@6d03e736 重写后：Student{name='zhangsan', age=12}


        //格式化
        String s=String.format("%d-%d-%d",2025,3,7);
        System.out.println(s);
        s=String.format("%d,%d.%d",2025,3,7);
        System.out.println(s);

    }
}
